package wzs.arithmetics;

//题目：打印出所有的 "水仙花数 "，所谓 "水仙花数 "是指一个三位数，其各位数字立方和等于该数本身。
//例如：153是一个 "水仙花数 "，因为153=1的三次方＋5的三次方＋3的三次方。
//程序分析：利用for循环控制100-999个数，每个数分解出个位，十位，百位。

/*
是指一N位数，其各个数之N次方和等于该数。
例如153、370、371及407就是三位數的水仙花数，其各个数之立方和等于该数：
153 = 13 + 53 + 33。
370 = 33 + 73 + 03。
371 = 33 + 73 + 13。
407 = 43 + 03 + 73。
*/

public class Test_wzs3
{
	public static void main(String[] args)
	{
		for (int i = 100; i < 999; i++)
		{
			if (f(i))
			{
				System.out.println(i+", ");
			}
		}
	}
	
	public static boolean f(int x)
	{
		if (x <100 || x>999)
		{
			return false;
		}
		
		int a, b, c; 
		a = x/100;
		b = (x%100)/10;
		c = x%10;
		if(x == a*a*a+b*b*b+c*c*c)
			return true;
		else
			return false;
	}
}
